#include<bits/stdc++.h>
// #define endl '\n'
#define x first
#define y second
#define pb push_back
#define lowbit(x) (x & (-x))
#define point(n) cout << fixed << setprecision(n)
#define YN(flag) cout << (flag ? "YES" : "NO") << endl
#define debug(x) cout << "debug " << x << endl
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll,ll> PLL;
typedef pair<ull,ull> UPLL;
typedef pair<int,int> PII;
typedef pair<double,double> PDD;
const int INF = 0x3f3f3f3f;
const ll mod = 1e9 + 7;
const double PI = acos(-1);
const double eps = 1e-7;
const int N = 1000010, M = 2 * N;
int n, m;
int ask(int x)
{
vector<int> a, b;
for(int i = 1; i <= n; i++)
{
if(i >> x & 1)
a.push_back(i);
else
b.push_back(i);
}
// if(a.empty() || b.empty()) return 0;
cout << a.size() << " " << b.size() << " ";
for(auto e : a)
cout << e << " ";
for(auto e : b)
cout << e << " ";
cout << endl;
int res;
cin >> res;
return res;
}
void solve()
{
cin >> n;
int ans = 0;
for(int i = 0; i <= __lg(n); i++)
ans = max(ans, ask(i));
cout << "-1 " << ans << endl;
}
int main()
{
ios::sync_with_stdio(false), cin.tie(nullptr);
int _ = 1;
cin >> _;
while(_--)
{
solve();
}
}
1630C - Paint the Middle | 1630D - Flipping Range |
1328A - Divisibility Problem | 339A - Helpful Maths |
4A - Watermelon | 476A - Dreamoon and Stairs |
1409A - Yet Another Two Integers Problem | 977A - Wrong Subtraction |
263A - Beautiful Matrix | 180C - Letter |
151A - Soft Drinking | 1352A - Sum of Round Numbers |
281A - Word Capitalization | 1646A - Square Counting |
266A - Stones on the Table | 61A - Ultra-Fast Mathematician |
148A - Insomnia cure | 1650A - Deletions of Two Adjacent Letters |
1512A - Spy Detected | 282A - Bit++ |
69A - Young Physicist | 1651A - Playoff |
734A - Anton and Danik | 1300B - Assigning to Classes |
1647A - Madoka and Math Dad | 710A - King Moves |
1131A - Sea Battle | 118A - String Task |
236A - Boy or Girl | 271A - Beautiful Year |